package locacao.negocio.bo;

import java.sql.Connection;
import java.sql.Date;

import locacao.integracao.dao.RentACarPST;
import locacao.negocio.to.FuncionarioTO;
import locacao.negocio.to.RentACarTO;


public class FuncionarioBO {
	
	private RentACarTO rentACarTO;
	private RentACarPST rentACarPST;
	

	public FuncionarioBO() {
		rentACarTO = new RentACarTO();
		rentACarPST = new RentACarPST();
	}

	public void addFuncionario(Integer idFuncionario, Integer idPessoa,
			Date dataAdmissao, String status){
		try {
			FuncionarioTO funcionario = rentACarTO.getFuncionario(idFuncionario, idPessoa, dataAdmissao, status);
			rentACarPST.addOrUpdateFuncionario(funcionario);
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}
	}

	
	public void updateFuncionario(Integer idFuncionario, Integer idPessoa,
			Date dataAdmissao, String status){
   
		try {
			FuncionarioTO funcionario = rentACarTO.getFuncionario(idFuncionario, idPessoa, dataAdmissao, status);
			rentACarPST.addOrUpdateFuncionario(funcionario);
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}	
	}
	
	public void excludeFuncionario(int idFuncionario){
		try {
			FuncionarioTO funcionario = rentACarTO.getFuncionario(idFuncionario);
			rentACarPST.excludeFuncionario(funcionario);	
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}
	}
	
	
    public String[] getInfoFuncionarios(){
    	return rentACarPST.getInfoFuncionarios();

    }

    
    public String[] getPesquisaFuncionarios(Integer id){
    	try {
    		return rentACarPST.findFuncionarioById(id);
	    } catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
			return null;
		}
    }
    

    public Connection gerarRelatorioFuncionarios(){
    	return rentACarPST.getInstance().getConn().getConnection();
    }
	
}
